草庐IT

python - 如何在python中打开一个URL

全部标签

ruby - 如何在 MacOS 上使用 "RVM --default"

在使用Ruby和Rails一段时间后,我想试试RVM。一切正常,除了一件事:在新打开的终端中,ruby指向系统的ruby​​,尽管我使用了rvm--default命令。user@terra~$ruby-vruby1.8.7(2010-08-16patchlevel302)[i686-darwin10]user@terra~$whichruby/opt/local/bin/rubyuser@terra~$rvmlistruby-1.8.7-p334[]=>ruby-1.9.2-p180[]调用rvmreload后一切正常user@terra~$rvmreloaduser@terra~$r

ruby - 如何在纯 Ruby(无 Rails)中使用 Capybara?

我试图让Capybara在一个简单的Ruby脚本中运行——即没有/在Rails之外。这是脚本:require'rubygems'require'capybara'require'capybara/dsl'includeCapybaraCapybara.current_driver=:seleniumCapybara.app_host='http://www.google.com'visit('/')问题是,当我运行它时,我得到了这个错误:NameError:uninitializedconstantCapybara::Sessionattoplevelindsl.rbatline52m

ruby - 在另一个模块中扩展 Ruby 模块,包括模块方法

每当我尝试扩展ruby​​模块时,我都会丢失模块方法。include和extend都不会这样做。考虑片段:moduleAdefself.say_hiputs"hi"endendmoduleBincludeAendB.say_hi#undefined_method无论B包含还是扩展A,都不会定义say_hi。有什么办法可以完成这样的事情吗? 最佳答案 如果您是moduleA的作者并且经常需要它,您可以像这样重新编写A:moduleAmoduleClassMethodsdefsay_hiputs"hi"endendextendClass

ruby-on-rails - 如何在 YAML 中声明同时包含单引号和双引号的字符串?

我正在对一个应用程序进行国际化,但不知道如何声明一个包含单引号和双引号的翻译字符串。这是我正在尝试的en.yml字符串的示例en:my_string:Whenyou'reusingdoublequotes,theylooklike"this"使用上面的字符串,我得到以下错误:cannotloadtranslationsfrom/vagrant/config/locales/en.yml,expectedittoreturnahash,butdoesnot如果只有双引号,我会用单引号括起来,反之亦然。我如何处理双引号和单引号? 最佳答案

ruby-on-rails - 检查给定的字符串是否是一个 URL

在我的Rails应用程序中,我需要验证用户提供的URL是否真的是一个URL。我只关心HTTP协议(protocol)(​​也许还有HTTPS,我根本没有研究过),这让我相信Rails中可能已经有一些东西可以为我完成这项工作。如果不是:您能推荐一个执行此操作的正则表达式字符串吗?我在谷歌搜索后找到了一些,但根据用户评论,它们似乎都有一两个问题。谢谢 最佳答案 使用URIlibrary.defuri?(string)uri=URI.parse(string)%w(httphttps).include?(uri.scheme)rescue

ruby - 如何在 OpenURI 中指定 "http request header"

我正在尝试使用Ruby的OpenURIgem调用URL,但是它需要我在其HTTP请求header中传递某些值。知道怎么做吗? 最佳答案 根据thedocumentation,您可以将httpheader的哈希值作为第二个参数传递给open:open("http://www.ruby-lang.org/en/","User-Agent"=>"Ruby/#{RUBY_VERSION}","From"=>"foo@bar.invalid","Referer"=>"http://www.ruby-lang.org/"){|f|#...}

ruby - 如何在没有 Xcode 的情况下在 Mac OS X Mountain Lion 中安装 Ruby 1.9.3?

我想知道在OSX10.8MountainLion上为Ruby1.9.3构建开发机器的替代方法,它不需要Xcode。在我写这个问题的时候,MountainLion现在是GoldenMaster,所以它可以被认为是最终版本。Xcode还不能这样说,它还是预览版。RVM建议在Xcode上安装osx-gcc-installer,但我不想弄乱我的系统。在没有Xcode的情况下,在MountainLion上安装Ruby1.9.3的最干净的方法是什么? 最佳答案 事实证明,osx-gcc-installer是替代Xcode以安装Ruby1.9.3

ruby - 一个方法应该以 ? (问号)只返回一个 bool 值?

我认为这样做只是常识和Ruby惯例,但我有这个方法:defis_subscribed?(feed_url)Subscription.find_by_user_id_and_feed_id(self[:id],Feed.find_by_feed_url(feed_url))end我唯一感到困惑的是,这并没有像我最初预期的那样返回bool值,方法名称末尾加上问号。我的印象是,当将对象评估为有条件时,如果不是nil,它会返回true。显然我忽略了这里的要点,它并没有像我想的那样评估它。所以,我的问题是,最好只执行if(condition)trueelsefalse吗?或者有更优雅的方法吗?

ruby - 如何创建一个新的 Ruby gem?

要创建新的Rubygem,我应该使用Jeweler吗?或者我应该使用Bundler的内置gem骨架来创建基础gem?重要的区别是什么? 最佳答案 UseBundler从命令行:bundlegemyour_new_gem这将创建一个名为your_new_gem的目录,其中只有一组基本的文件和目录结构,现在被认为是最佳实践。它快速、简单,是一个很好的起点。 关于ruby-如何创建一个新的Rubygem?,我们在StackOverflow上找到一个类似的问题: ht

ruby - 如何在没有继承方法的情况下获取类的公共(public)方法?

给定任何对象,我可以调用#public_methods并查看它将响应的所有方法。但是,我发现有时获取所有未继承的公共(public)方法的快速列表会很方便,即真正属于此类的内容。我在“EasywaytolistpublicmethodsforaRubyobject”中发现如果我使用:(Foo.public_methods-Object.public_methods).sort我可以过滤掉很多基本的Ruby内容。我希望能够过滤沿链向上一直继承的所有内容。如果我知道父类,我可以使用它进行过滤,但我想提出一个通用命令,该命令可以为任何对象返回一组未继承的公共(public)方法。